import myAxios from '../myAxios/myAxios.js';
import myAxios28 from '../myAxios/myAxios28.js';

let GetWeekPlanedOrReleasedNotPlaned = async function (isPlaned) {

	// 1. 获取当前日期并计算本周的起始和结束日期
	const now = new Date();
	let day = now.getDay(); // JavaScript中 getDay() 返回0(周日)到6(周六)
	let startTimeString;
	let endTimeString;

	// 调整周的起始：C#中周日为0，周一为1...周六为6；JavaScript中周日为0，周六为6。
	// 原C#代码将周日转换为7，然后计算本周一和本周日
	if (day === 0) {
		day = 7; // 将周日调整为7，便于计算
	}
	// 计算本周一的日期：now - (day - 1)
	const startDate = new Date(now);
	startDate.setDate(now.getDate() + (1 - day));
	startTimeString = dayjs(startDate).format('YYYY/MM/DD'); // 格式化为 'YYYY/MM/DD'

	// 计算本周日的日期：now + (7 - day)
	const endDate = new Date(now);
	endDate.setDate(now.getDate() + (7 - day));
	endTimeString = dayjs(endDate).format('YYYY/MM/DD'); // 格式化为 'YYYY/MM/DD'
	// 只有当查询已排产数据(isPlaned为true)时，才添加日期范围条件

	// 3. 执行SQL查询
	let planedData;
	let requestName = isPlaned ? `陈帅廷查询周计划_已排产` : `陈帅廷查询周计划_已释放未排产`;
	let param = isPlaned ? `${startTimeString}🈹${endTimeString}` : ``;
	try {
		planedData = await myAxios.get(requestName, param, 'Q902');
		// 假设 Query 函数返回一个对象数组，例如: [{ MATNR: '...', WEEK_PLANED: ... }, ...]
	} catch (error) {
		console.error("执行SQL查询失败:", error);
		throw error; // 或返回空数组 []
	}

	// 4. 返回查询结果
	console.log(`${requestName} >>`, planedData);
	return planedData;
};


export {
	GetWeekPlanedOrReleasedNotPlaned
};